home *** CD-ROM | disk | FTP | other *** search
- Version 1.00:
- - erste öffentliche Version
-
- Version 1.01:
- - SLINFO-Struktur für Echtzeit-Schieberfunktionen
- - BUTTON-Struktur für Userdef-Buttons (Radio,Check usw.)
- - Absturz in Funktion cycle_image() beseitigt
- - Fehler bei der Anpassung der Dialoge an System-Font-Größe
- beseitigt sowie Anpassung verbessert
- - rc_scr_copy sowie rc_clear in rc_sc_copy und rc_sc_clear umbenannt
-
- Version 1.02:
- - POPUP-Struktur für Popup-Menus (Popup())
- - Infotext/Cyclebutton wurden nach dem Beenden eines Popups nicht
- mehr deselektiert
- - bei menu_enable() wird vor dem Neuzeichnen/Löschen des Menus
- unter MultiTOS die Applikation ermittelt, der die Menüleiste
- gehört
-
- Version 1.10:
- - compiliert mit Pure C 1.1
- - Userdef-Objekte hoffentlich unabhängig von der Größe des Systemfonts
- - Beispiel-Programm für Verwendung der Library
- - neue Funktion rc_sc_invert() (invertiert Bildschirmbereiche)
- - zusätzlicher Parameter bei dial_opt() -> Niceline funktioniert
- jetzt auch bei Popup-Menüs (Funktion menu_tune() entfällt)
- - Fehler bei abhängigen Default-Objekt beseitigt (fehlerhafte
- Initialisierung)
- - einige Fehler in der Popup-Funktion beseitigt
- - Popup-Menüs können an Popup-Button ausgerichtet werden
- - Cycle-Buttons können über Shift-Alternate-Taste bedient werden
- - Mauszeiger wird jetzt nach der Initialisierung auf Arrow gesetzt
- - Fehler in ob_set_text/ob_get_text bei G_BOXTEXT beseitigt
- - die ASCII-Tabelle (aufrufbar über Shift-Insert) liegt jetzt in
- einem modalen Fensterdialog (falls aktiver Dialog in einem Fenster
- liegt),der Hintergrund ist weiß und ein Fehler bei der Cursorbe-
- handlung wurde beseitigt
- - Editcursor-Positionierung per Maus verbessert
- - AC_OPEN wurde falsch ausgewertet bzw. teilweise ignoriert
- - ACC-Eintrag als neuer Parameter bei init_gem() sowie open_rsc()
- - neue globale Variablen menu_id (= ID des ACC-Eintrages) sowie
- menu (= Objekt-Baum des Pull-Down-Menüs)
- - Pull-Down-Menü wird bei modalen Dialogen automatisch disabled
- (sofern die Variable menu gesetzt ist)
- - neue Funktion menu_dropped() (testet,ob ein Pull-Down-Menü
- heruntergeklappt ist), wodurch viele Probleme mit Tastendrücken
- bei heruntergeklappten Pull-Down-Menü beseitigt werden konnten
- - DIAINFO-Struktur um di_title (= Adresse des Dialog-Titels)
- erweitert
- - menu_enable() restaurierte Menüleiste bzw. DISABLED-Flag nicht
- mehr korrekt sowie Probleme mit Screenmanager behoben
- - WM_TOPPED-Nachricht bei modalen Dialogen wird jetzt korrekt
- ausgewertet
- - Flag für Objekte, die nur in modalen Dialogen erscheinen sollen
- - Fehler in interner is_hidden()-Funktion behoben
- - Funktion dial_opt() hat zwei neue Parameter bekommen :
- - RETURN betätigt Default-Button oder springt in Dialogen mit
- Edit-Feldern in die nächste Zeile
- - Hintergrundbedienung von Fensterdialogen an-/ausschalten
- - Text mit Attributen beachtet jetzt die im RCS eingestellte Textfarbe
- und wird bei kleiner Schrift vertikal korrekt positioniert
- - Fehler in ob_xywh beseitigt
- - rc_intersect von Joergen von Bargen optimiert
-
- Version 1.11:
- - Fehler in rc_intersect behoben
- - Rechtecke (GRECT) werden in rc_sc_copy und den damit zusammen-
- hängenden Funktionen nicht mehr zerstört
- - Fehler im Resource-File des Beispielprogramms beseitigt
-
- Version 1.12:
- - Mauszeiger blieb beim Verlassen eines Dialoges als Textcursor ein-
- gestellt, wenn er sich über einem Edit-Objekt befand
- - Es werden nur noch die Tastendrücke von X_Form_Do durchgelassen,
- die nicht im aktiven Dialog vorkommen. Dadurch können jetzt in Menü-
- leisten die gleichen Tastenkombinationen wie in Dialogen vorkommen.
- - Fehler in get_cookie und remove_cookie beseitigt, die zu Abstürzen
- oder Fehlfunktionen führen konnten
- - Funktion xdialog() hat zwei neue Parameter erhalten, nämlich
- int (*init)(EVENT *) und int (*call_func)(EVENT *) (s. X_Form_Do)
- - Fehlerhafter Redraw von Applikations-Fenstern bzw. fehlerhafte Nach-
- richtenauswertung bei geöffneter ASCII-Box bzw. modalen Fenster-
- Dialogen beseitigt
- - einige Funktionen umbenannt:
- count_size() -> mfdb_size()
- dial_opt() -> dial_options()
- dial_col() -> dial_colors()
- title_opt() -> title_options()
- graf_rt_slide_box -> graf_rt_slidebox()
- - über das Makro __MINT_LIB__ kann jetzt die MiNT-Library ab Patch-
- level 30 benutzt werden (s. E_GEM.TXT)
- - absolute Pfade und andere potentielle Probleme bei der Übersetzung
- der Library (z.B. erweiterte PORTAB.H-Datei) aus den Sourcen/Projekt-
- dateien entfernt
- - rc_copy() liefert einen Wert zurück (int)
- - Funktion popup() hat einen neuen Parameter, mit dem der aktuell selek-
- tierte Eintrag übergeben werden kann
- - Hintergrundbedienung von Fenstern an Falcon-AES angepaßt sowie Fehler
- bei Falcon-AES sowie Multi-AES behoben
- - Buttons mit Unterstrich für Tastaturbedienung werden bei Bedarf um
- 2 Pixel vergrößert
- - Wurde bei geöffneten Fenster-Dialogen eines Accessories ein Programm
- aus einem anderen Programm (nicht dem Desktop) gestartet, so hatte das
- System einen Hänger
- - Tippfehler im Namen von ob_undoflag behoben
- - die automatische Umschaltung von Fensterdialogen auf fliegende Dialoge
- bei keinem verfügbaren Fenster mehr funktionierte nicht
- - nicht selektierbare (=disabled) Editobjekte konnten angewählt werden
- - Redraw bei POPUP_SELECT-Popups war fehlerhaft
-
- Version 1.13:
- - Hintergrundbedienung von Fensterdialogen verbessert sowie standard-
- mäßig deaktiviert (kompatibler)
- - alle internen modulübergreifenden Variablen und Funktionen umbenannt,
- so daß keine Überschneidungen mit Anwender-Variablen/Funktionen mehr
- vorkommen sollten
- - Tippfehler in Deklaration von ob_undoflag endgültig behoben
- - Popup-Funktion überarbeitet:
- - opt. Positionierung des aktuellen Eintrags über Popup-Button (OBJPOS)
- - neue Modi (POPUP_BTN,POPUP_CYCLE,POPUP_BTN_CHK,POPUP_CYCLE_CHK)
- - Vorgabe des selektierten Eintrages über den Parameter 'select' funk-
- tionierte nicht korrekt bei höherem Objekt-Index als dem aktuellen
- - Probleme mit versteckten Objekten behoben
- - neue globale Variable 'colors': Anzahl aller verfügbaren Farben
- - Probleme mit den Dateifunktionen der MiNT-Lib aufgrund fehlerhafter
- Definitionen behoben
- - absolute Aufrufe von Funktionen im Projekt-File
- - die Funktionen exit_gem() und close_rsc() schließen jetzt evtl. noch
- geöffnete Dialoge selbständig und geben somit Speicher/Fenster frei
- - die Funktion open_rsc() gibt jetzt den Return-Wert FAIL zurück, wenn
- die Resource-Datei nicht geladen werden konnte, und den Wert FALSE,
- wenn die Initialsierung über init_gem() nicht funktionierte
- - die Funktion init_gem() gibt den Return-Wert FAIL zurück, wenn keine
- Workstation geöffnet werden konnte, und den Wert FALSE, wenn die An-
- meldung beim AES über appl_init() fehlschlug
- - Clipboard-Funktionen in Edit-Feldern verbessert
- - Funktion strmfp() erzeugte fehlerhafte Zugriffspfade, wenn der über-
- gebene Pfade keinen abschließenden Backslash hatte (z.B. Nullstring)
- - Mauszeiger blieb als Textcursor eingestellt, wenn er sich über einem
- Edit-Objekt befand und ein neuer Dialog mit Edit-Objekten geöffnet
- wurde
- - die Clipboard-Funktionen werten jetzt auch die Environment-Variable
- SCRAPDIR aus
-
- Version 1.20:
- - die Library läßt sich jetzt auch unter GNU-C und Lattice C einsetzen
- (dank Markus Kilbinger @ AC), wobei die MiNT-Libraries ab Patchlevel 33
- Voraussetzung sind
- - ausführliches und kommentiertes Beispielprogramm
- - Popup-Menüs können wie normale Dialoge über Hotkeys bedient werden,
- wobei die Alternate-Taste nicht gedrückt werden muß
- - neue Funktionen:
- = ascii_box() -> Aufruf der bisher internen Asciizeichen-Eingabebox
- = ob_set_hotkey() -> Ändern des Hotkey-Buchstabens eines Objekts
- = ob_get_hotkey() -> Hotkey-Buchstaben eines Objekts abfragen
- = graf_busy_mouse() -> rotierende Scheibe als Mauszeiger
- = graf_set_slider() -> Initialisierung der Slider-Elemente
- Bedeutung des letzten Parameters (=Modus):
- -> GRAF_SET_ARROWS initialisiert die Slider-Pfeile
- -> GRAF_SET_SIZE_POS setzt Größe und Position des Sliders
- -> GRAF_SET entspricht GRAF_SET_ARROWS und GRAF_SET_SIZE_POS
- -> GRAF_DRAW_SLIDER zeichnet die geänderte Slider-Elemente
- -> GRAF_DRAW entspricht GRAF_SET und GRAF_DRAW_SLIDER
- = save_clipping() -> aktuelle Clipping-Area sichern
- = restore_clipping() -> Clipping-Area wiederherstellen
- = rc_array_to_grect() -> Koordinaten-Array wird in Rechteck (GRECT)
- umgewandelt
- - Slider-Struktur SLINFO erweitert:
- = sl_pos (int) -> aktueller Wert
- = sl_max (int) -> maximaler Wert
- = sl_page (int) -> Seitenlänge
- -> automatische Verwaltung der Slider-Werte
- - Popup-Struktur POPUP erweitert:
- = p_set (boolean) -> Popup-Button-Text automatisch setzen
- - neue globale Variable 'redraw' enthält einen Wert ungleich Null, wenn
- gerade Teile von Fensterdialogen aufgrund von Redraw-Nachrichten neu-
- gezeichnet werden
- - bei einem fehlerhaften Aufbau des Resource-Files werden jetzt ent-
- sprechende Warnungen ausgegeben
- - Flugecke wird jetzt an die Rahmendicke des Elternobjekts angepaßt
- - Assembler-Routinen an Resource-Files > 32 Kb angepaßt
- - Fliegen mit nicht-selektierbaren/editierbaren Objekten default-mäßig
- deaktiviert (kann über zusätzlichen Parameter der Funktion dial_options()
- aktiviert werden)
- - Probleme mit Mausform bei springenden Dialogen sowie Popups behoben
- - Doppelklick auf Exit-Objekte funktionierte nicht
- - Probleme mit Alternate-Tastenkombinationen in Pull-Down-Menüs bei aktivem
- Dialog mit Edit-Feldern behoben
- - Index-Rückgabe der Popupfunktion war fehlerhaft
- - Darstellung von Text mit VDI-Attributen war in seltenen Fällen fehler-
- haft, u.a. wird jetzt auch die Ausrichtung von G_TEXT beachtet
- - die Funktionen ob_set_text/ob_get_text arbeiten jetzt auch bei Text mit
- VDI-Attributen korrekt
- - Probleme bei gleichzeitig aktiven fliegenden Dialogen und Fenster-
- dialogen behoben
- - Positionierung von Hotkeys verbessert
- - einige interne Vorgänge optimiert (auch in Hinblick auf Flexibilität der
- Resource-Struktur), so daß u.a. die Ereignisauswertungs-Funktion, welche
- als Zeiger an die Funktionen xdialog/X_Form_Do/ascii_box übergeben werden
- kann, keinen Wert mehr zurückgeben muß ((void)(*call_func)(int))
-
- Version 1.30:
- - Unterstützung von Winx >=2.10 und Mag!X >= 2.00
- - kleinere Fehler in der Anpassung an Lattice C und GNU-C behoben
- - neue Funktionen:
- = appl_getfontinfo(int ap_gtype,int *height,int *id,int *type)
- -> Informationen (Größe, Font-ID, Typ) über Systemzeichensätze
- = xalert(int default,int icn,BITBLK *usr_icn,char *title,char *txt,
- char *btns,int (*foo1)(EVENT*),void (*foo2)(EVENT *))
- -> Alert-Funktion mit 18 verschiendenen Icons (auch benutzerde-
- finierte Icons beliebiger Größe), beliebig lange Zeilen/Buttons,
- maximal 10 Zeilen/5 Buttons, Buttons per Hotkey anwählbar
- (auch ohne Alternate-Taste)
- = ob_draw_lst(DIAINFO *info,int *list,GRECT *area)
- -> Zeichnet eine Liste von Objekten (letztes Element <=0) im an-
- gegebenen Bildschirmausschnitt
- - neue globale Variablen:
- = (int) small_font_id,ibm_font_id:
- -> Fond-Identifikationsnummern des kleinen/normalen System-Fonts
- = (int) fonts_loaded:
- -> Anzahl der geladenen GDOS-Fonts bzw. Null
- = (DIAINFO *) dinfo
- -> Zeiger auf die DIAINFO-Struktur des obersten Dialogs
- = (int) winx:
- -> Winx >= 2.10 vorhanden ?
- = (int) magx:
- -> Mag!X >= 2.00 vorhanden ?
- - Anpassung an verschiedene System-Zeichensätze verbessert
- - Funktion graf_busy_mouse() war aufgrund einer Vertrauschung von Daten
- und Maske des Mauszeigers fehlerhaft
- - Funktion ob_set_hotkey() kann jetzt auch Hotkeys entfernen, wenn man
- als Hotkeyzeichen '\0' übergibt
- - die Funktion Popup() liefert jetzt in Bit 15 zurück, ob der Eintrag
- per Doppelklick bzw. mit gedrückter Shift-Taste angewählt wurde
- - Nachricht OBJC_EDITED wird an Hauptprogramm weitergegeben, wenn
- ein Editfeld verändert wurde
- - Bildschirmausgabe über ob_draw_chg() war bei Objekten, welche sich
- am linken Bildschirmrand befanden, fehlerhaft, sofern kein Ausgabe-
- rechteck angegeben wurde
- - Redraw-Fehler unter Winx 2.1 beseitigt
- - Radio- und Check-Buttons konnten nicht gleichzeitig DISABLED und
- SELECTED sein
- - EXIT-Objekte ohne SELECTABLE-Status wurden wie TOUCHEXIT-Objekte be-
- handelt
- - Editcursor wurde beim Öffnen eines Dialogs manchmal auf Editfelder mit
- DISABLED-Status gesetzt
- - Probleme mit unterschiedlicher Deklaration der vq_gdos()-Funktion be-
- hoben
- - fehlerhafte Resource-Struktur in Pull-Down-Menüs bei manchen Resource-
- Construction-Sets wird abgefangen
-
- Version 1.35:
- - neue Funktionen:
- void redraw_dialog(DIAINFO *info,GRECT *area)
- => Bereich 'area' des Dialogs 'info' neuzeichnen
- void move_dialog(DIAINFO *info,GRECT *area)
- => Dialog 'info' zu neuer Position 'area' verschieben
- void redraw_iconified(int handle,OBJECT *icon,GRECT *area)
- => Ikonifiziertes Fenster neuzeichnen
- => neue globale Variable: (OBJECT *) iconified
- = Zeiger auf Objektbaum zur Darstellung von Fensterdialogen
- im ikonifizierten Zustand
- int ob_get_parent(OBJECT *tree,int obj)
- => Elternobjekt eines Objekts suchen
- - neuer erweiterter Objekttyp:
- Undo-Button (19)
- => dieser Typ kann jedem beliebigen normalem Objekt gegeben werden,
- wobei die Undo-Funktion in Edit-Feldern dann deaktiviert ist
- - Iconifizierung von Fensterdialogen unter MTOS (abschaltbar durch
- NO_ICONIFY im Dialogtyp)
- - neuer Parameter 'undo' bei der Funktion xalert(), um gegebenenfalls
- einen Undo-Button zu definieren
- - neue Parameter 'keys' und 't_small' bei der Funktion dial_options():
- => 'keys': bei Bedarf werden alle nicht ausgewerteten Tastendrücke
- an die Applikation weitergeleitet (auch bei modalen
- Dialogen)
- => 't_small': Überschriften in Dialogen mit kleiner Schrift
- - neuer Parameter 'all' bei der Funktion scrap_clear(), um das komplette
- Clipboard und nicht nur Scrap-Dateien zu löschen
- - die Variablen 'magx' und 'winx' enthalten die Versionsnummern von Winx
- (>= 2.10) sowie Mag!X (>= 2.00)
- - Anpassung an unterschiedliche Größen des System-Fonts verbessert
- - Probleme mit modalen Fenster-Dialogen im Zusammenspiel mit Anwendungs-
- fenstern behoben
- - Probleme mit Editcursor sowie Mauszeiger bei Fenster wechseln oder
- verschieben behoben
- - Probleme mit der Menüleiste bei Alert-Boxen über modalen Fenster-
- dialogen behoben
- - Checkboxen und Radio-Buttons wurden in Farbauflösungen teilweise
- falsch konvertiert (halbe Höhe) bzw. positioniert
- - bei modalen Dialogen im Vordergrund können keine Hintergrunddialoge
- mehr geschlossen werden
- - Fehler in remove_cookie() behoben
- - die Funktionen xalert() bzw. xdialog() stürzten teilweise ab
- - Anpassungen an GNU-C und Lattice C, u.a. appl_getinfo implementiert
- - Funktion 'typetest()' im Modul 'rc_ob_c.c()' funktionierte nicht bei
- erweiterten Objekten
- - Identifikations-String der Library im Modul 'dial.c'
- - eigene Timer-Funktion funktionierte nicht bei Timer-Werten>32767
- - Clipping bei Echtzeit-Slidern in Hintergrundfenstern war fehlerhaft
- - Drag & Drop - Nachrichten werden an die Applikation bei aktiven
- Dialogen weitergeleitet
- - kleinere Anpassungen an 3D-Look unter MTOS bzw. Falcon-TOS
- - Alert-Boxen sind ab dieser Version system-modal (vorher applikations-
- modal
-
- Version 1.40:
- - neue Funktionen:
- int appl_xgetinfo(int type,int *out1,int *out2,int *out3,int *out4)
- => erweiterte appl_getinfo()-Routine von Martin Osieka @ OF2, die
- selbständig die Existenz der appl_getinfo()-Routine ermittelt
- void v_set_mode(int mode)
- void v_set_text(int font,int height,int color,int *out)
- void v_set_line(int color,int width)
- void v_set_fill(int color,int inter,int style)
- => Einstellen der Attribute der internen VDI-Workstation 'x_handle'
- => negative Parameter ändern die Einstellung nicht
- => interne, optimierte Verwaltung der eingestellten Attribute
- => v_set_text:
- height<0: Angabe in Punkt
- height>0: Angabe in Pixel
- out: Zeiger auf Integerfeld mit 4 Elementen oder NULL
- -> Ausgabeparameter von vst_height/vst_point
- => alle Attribute, die nicht über obige Funktionen verändert werden
- können, dürfen nur kurzfristig verändert werden
- void vs_attr(void)
- => wurden die Attribute der internen VDI-Workstation 'x_handle'
- nicht über obige Funktionen verändert, so muß diese Funktion
- sofort danach aufgerufen werden, um dies der Library kenntlich
- zu machen
- - DEBUG-Modus (Fehlermeldungen bei falschem Resource-Aufbau) aktiv:
- -> bei doppelten Hotkeys werden jetzt ebenfalls Warnungen ausgegeben
- - fehlerhafte Eintragung als Accessory unter Mag!X 2.0 korrigiert
- - Ermittlung der Größe des System-Fonts verbessert
- - Anzahl der VDI-Aufrufe drastisch reduziert
- -> schnellere Ausgabe von erweiterten Objekten
- - kleinere Fehler in der Anpassung an GNU und Lattice korrigiert
- - bei aktiven fliegenden Dialogen werden keine Nachrichten für geöffnete
- Fensterdialoge mehr ausgewertet
- - modale Fensterdialoge können jetzt ebenfalls ikonifiziert werden
- - fehlerhafter shel_write()-Aufruf unter Mag!X führte zu Fehlermeldungen
- am Programmende
- - Menüleiste wurde unter MTOS teilweise nach einem Prozeßwechsel nicht
- mehr korrekt dargestellt (Funktion menu_enable())
- - Alert-Boxen sind wieder - sofern möglich - applikations-modal
- - interne Initialisierung konnte in seltenen Fällen, u.a. teilweise
- beim Schließen/Wechseln von Fenstern über einen Tastendruck, abstürzen
-
- Version 1.41: (keine öffentliche Version)
- - neue Funktion:
- int wind_xget(int w_handle,int w_field,int *p1,int *p2,int *p3,int *p4)
- => korrigierte wind_get-Version für erweiterte Aufrufe unter Winx
- sowie MTOS
- => Winx-Erkennung funktionierte mit der optimierten wind_get()-
- Funktion der Pure-C-Library nicht bzw. nicht zuverlässig
- - Rechtsklick auf ein Objekt im Vordergrunddialog simuliert Doppelklick
- - Anpassung an Window-Shading von Winx 2.3
- - teilweise fehlerhaftes Event-Handling nach einer modalen Dialogbox (z.B.
- einer Alertbox) korrigiert
- - Popup()-Funktion funktioniert jetzt korrekt, wenn in der überge-
- benen POPUP-Struktur der Eintrag 'p_info' oder in der DIAINFO-
- Struktur der Eintrag 'di_tree' auf NULL gesetzt ist
- - Sliderscrolling im Hintergrund funktionierte im Beispielprogramm nicht
- korrekt (Clipping)
- - es können jetzt mehrere USERFLY-Objekte in einem Dialog vorkommen
- - Probleme mit USERFLY-Objekten in Fensterdialogen behoben
-
- Version 1.45:
- - neue Funktionen:
- - void vsf_aespattern(int handle, int ob_x, int ob_y, int pattern)
- => von Martin Osieka @ OF2
- => berechnet (und setzt) aus der Objektposition (ob_x,ob_y) das
- AES-Muster 'pattern' (0-7) positionsabhängig, so daß die AES-
- Muster positionsunabhängig aussehen
- - void v_aespattern(int ob_x, int ob_y, int pattern)
- => analoge Funktion wie vsf_aespattern für die Library-interne
- VDI-Workstation 'x_handle'
- - neue Parameter:
- - void graf_rt_slidebox(SLINFO *,int,int double_click)
- => Ein Wert ungleich Null bedeutet, daß das Objekt 'obj' mit
- einem Doppelklick angewählt wurde
- - void rsrc_init(int,int,int,int,int,char **,long *,BITBLK *,
- long *,ICONBLK *,TEDINFO *,OBJECT *,OBJECT **,RS_IMDOPE *,
- int orig_cw,int orig_ch)
- - void rsrc_calc(OBJECT *,int,int orig_cw,int orig_ch)
- => Größe des Fonts, mit dem die Dialoge entworfen wurden, so daß
- die Dialoge besser an die Größe des System-Fonts angepaßt
- werden können
- (keine Anpassung bei orig_cw<=1 oder orig_ch<=1)
- - bei einem Doppelklick auf die Slider-Pfeile wird an den Anfang
- bzw. das Ende des Sliders gesprungen
- - Zugriff auf Tastatur-Tabelle wegen Speicherschutz im Supervisor-Modus